Slider control movable in a two-dimensional region for simultaneously adjusting values of multiple variables

ABSTRACT

The invention concerns methods and apparatus for generating and controlling a slider control for simultaneously changing values of two variables. In the methods and apparatus of the invention a graph having two axes is displayed, wherein the axes correspond to first and second variables. The values of the first and second variables may be simultaneously adjusted using a slider control displayed in a two-dimensional region between the axes. As a user adjusts the slider control and changes values associated with the two variables, the methods of the present invention calculate the effects of the adjustment on a value of a third variable. A graphical component is then used to depict the updated value of the third variable. Additionally, curves corresponding to constant values, or ranges of values, of the third variable are displayed in the two-dimensional region to assist a user in selecting values for the first and second variables.

TECHNICAL FIELD

The present invention generally concerns visual optimization tools foruse in graphical user interfaces, and more particularly concerns aslider control for simultaneously adjusting values of two variables,wherein a graphical component shows the effect of the adjustment on thevalue of a third variable, the depiction of the effect on the value ofthe third variable helping a user to select a combination of values forthe first and second variables.

BACKGROUND

Graphical user interfaces and associated controls are becoming morepopular as means to set parameters for operations and processes. Slidercontrols are particularly popular to control processes. Mostcomputer-literate people are familiar with using slider controls to setvarious computer-related parameters in computer-related processes suchas, for example, display resolution; level of virus and firewallsecurity (e.g., from “low” to “high”) etc.

Such slider controls are particularly useful for those relativelyunfamiliar with underlying processes because they provide a level ofabstraction with which novice users can relate. The alternative to usinga slider control to set levels of virus and firewall protection may bedaunting. Typically, the slider control abstracts numerous individualsettings which otherwise would have to be individually set. The mostcommon way of making such selections is with check boxes. In a complexsecurity application, the number of check boxes may comprise tens, oreven hundreds, of individual settings. If details are not provided toassist a user in making selections, the user may be befuddled as towhether an individual setting increases, or decreases, the level ofsecurity. In addition, unless the user has a detailed understanding ofinteractions between various settings, combinations of settings thatconflict with a desired level of protection may be selected.

As indicated previously, slider controls overcome these problems becausethey provide a level of abstraction. Although a user typically will havedifficulty in determining whether any particular combination of checkbox selections are optimal, the user will have a much easier timedetermining that a particular slider control setting is optimal. Thisoccurs because experts are mapping the slider control settings tocombinations of check settings in a complex process. Experts understandintuitively how settings combine and interact, and thus are capable ofmapping the combinations to slider control settings in terms of, forexample, “low protection” or “high protection”.

Thus, slider controls are particularly useful when a plurality ofsettings can be abstracted to a single range. Slider controls are lessuseful, though, when a user is interested in more than one abstractcharacterization of a process. An archetypal relationship immediatelycomes to mind, the trade-off between performance level, availability andcost. It is not unusual that there is a direct relationship between costand the level of availability and performance selected in a complexprocess. Increasing levels of availability and performance often come atgreat expense. In such situations, conventional slider controls havebeen found ineffective. Two slider controls simply do not provide enoughinformation as to whether an optimal combination of values has beenselected for two parameters.

Accordingly, those skilled in the art desire improvements to slidercontrols that enable them to be used to more effectively select valuesfor two or more operating parameters.

SUMMARY OF THE PREFERRED EMBODIMENTS

The foregoing problems and other problems are overcome, and otheradvantages are realized, in accordance with the following embodiments ofthe present invention.

A first embodiment of the invention comprises a signal-bearing mediumtangibly embodying a program of machine-readable instructions executableby a digital processing apparatus of a computer system to performoperations for displaying and controlling an interactive graphical userinterface, the operations comprising: displaying a graph having two axescorresponding to first and second variables in the interactive graphicaluser interface, wherein a two-dimensional region between the two axesspecifies values the first and second variables may assume, and whereina combination of values that the two variables assume determines a valueof a third variable; displaying a slider control in the two-dimensionalregion; receiving a command moving the slider control within thetwo-dimensional region to a new position, wherein the movement of theslider control to a new position determines a new combination of valuesfor the first and second variables; calculating a new value for thethird variable based on the new combination of values for the first andsecond variables; and displaying a graphical component representing thenew value for the third variable in the interactive graphical userinterface.

A second embodiment of the invention comprises a method for displayingand controlling an interactive graphical user interface, the methodcomprising: displaying a graph having two axes corresponding to firstand second variables in the interactive graphical user interface,wherein a two-dimensional region between the two axes specifies valuesthe first and second variables may assume, and wherein a combination ofvalues that the first and second variables assume determines a value ofa third variable; displaying a discrete number of pre-determinedcombinations of values for the first and second variables in thetwo-dimensional region; displaying a slider control in thetwo-dimensional region; receiving a command moving the slider controltoward a position of a particular one of the pre-determined combinationsof values for the first and second variables in the two-dimensionalregion; determining that a trajectory of the slider control is towardthe particular one of the pre-determined combinations of values for thefirst and second variables displayed in the two-dimensional region;snapping a graphical indicator to the position of the particular one ofthe pre-determined combinations of values for the first and secondvariables in the two-dimensional region indicating that the particularone of the pre-determined combinations of values for the first andsecond variables has been selected; determining a new value for thethird variable based on the new combination of values for the first andsecond variables associated with the particular one of thepre-determined combinations of values for the first and second variable;and displaying a graphical component representing the new value of thethird variable in the interactive graphical user interface.

A third embodiment of the invention comprises a computer system fordisplaying and controlling an interactive graphical user interface, thecomputer system comprising: at least one memory to store at least onecomputer program of machine-readable instructions, where the at leastone program performs operations to display and control the interactivegraphical user interface when executed; a display for displaying theinteractive graphical user interface; and at least one processor coupledto the at least one memory and display, wherein the at least oneprocessor performs at least the following operations when the at leastone program is executed: displaying a graph having two axescorresponding to first and second variables in the interactive graphicaluser interface, wherein a two-dimensional region between the two axesspecifies values the first and second variables may assume, whereinvalues that the two variables may assume determines a value of a thirdvariable; displaying a slider control in the two-dimensional region;receiving a command moving the slider control within the two-dimensionalregion to a new position, wherein the movement of the slider control toa new position determines a new combination of values for the first andsecond variables; calculating a new value for the third variable basedon the new combination of values for the first and second variables; anddisplaying a graphical component representing the new value for thethird variable in the interactive graphical user interface.

In conclusion, the foregoing summary of the embodiments of the presentinvention is exemplary and non-limiting. For example, one skilled in theart will understand that one or more aspects or steps from oneembodiment can be combined with one or more aspects or steps fromanother embodiment to create a new embodiment within the scope of thepresent invention.

BRIEF DESCRIPTION OF THE DRAWINGS

The foregoing and other aspects of these teachings are made more evidentin the following Detailed Description of the Preferred Embodiments, whenread in conjunction with the attached Drawing Figures, wherein:

FIG. 1 depicts a two-variable slider control operating in accordancewith the prior art;

FIG. 2 depicts a two-dimensional slider control operating in accordancewith an embodiment of the invention;

FIG. 3 depicts a two-dimensional slider control operating in accordancewith an embodiment of the invention;

FIG. 4 depicts a two-dimensional slider control operating in accordancewith an embodiment of the invention;

FIG. 5 depicts a two-dimensional slider control operating in accordancewith an embodiment of the invention;

FIG. 6 depicts a two-dimensional slider control operating in accordancewith an embodiment of the invention;

FIG. 7 depicts a two-dimensional slider control operating in accordancewith an embodiment of the invention;

FIG. 8 depicts a two-dimensional slider control operating in accordancewith an embodiment of the invention;

FIG. 9 depicts a two-dimensional slider control with additionalinformation superimposed in a region of the two-dimensional slidercontrol, all operating in accordance with another embodiment of theinvention;

FIG. 10 depicts a two-dimensional slider control with additionalinformation superimposed in a region of the two-dimensional slidercontrol, all operating in accordance with another embodiment of theinvention;

FIG. 11 depicts a method operating in accordance with the invention;

FIG. 12 depicts another method operating in accordance with theinvention; and

FIG. 13 depicts a two-dimensional slider control operating in accordancewith a further embodiment of the invention.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

FIG. 1 depicts a conventional slider control 100 for adjusting valuesassociated with two variables 110, 130. The slider control 100 comprisesindividual sliders 120, 140 associated with corresponding variables,performance 1 10 and availability 130. Such a slider control can be usedto control the operations of, for example, a computer system. It isdifficult to determine exactly how optimal the level of control that isachieved with the slider control 100 depicted in FIG. 100. For example,since no cost variable is displayed, it is not known whether aparticular combination of settings for variables performance andavailability is optimal from a cost perspective. In addition, since nomaintenance variable is displayed, it is not known whether a particularcombination of variables results in a low-maintenance or amaintenance-intensive implementation. Accordingly, so while dual slidercontrols may make it somewhat easier to control a complex process, thoseskilled in the art desire greater assistance in determining whethersuitable, or even optimal, combinations of values for variables havebeen selected.

FIG. 2 depicts a graphical user interface operating in accordance withthe invention that overcomes the limitations of the prior art. Inparticular, the graphical user interface 200 comprises two axes 212,222, that correspond to, and are associated with, two variables 210, and220, respectively. The two axes 212, 222 define a two-dimensional region240 between the axes. The axes 212, 222 and two-dimensional region 240graphically depict the respective values that variables 210 and 220 mayassume. In contrast to the dual slider control depicted in FIG. 1, thegraphical user interface 200 operating in accordance with the presentinvention further comprises a graphical component 230 corresponding to athird variable. An indicator 232 visually depicts the current value ofthe third variable as determined by the current combination of valuesfor the first and second variables. The current combination of valuesfor the availability and performance variables is determined by thecurrent position of a slider control 250. As is apparent, instead ofseparately setting the values of two variables with separate slidercontrols 120, 140 as in the case of the conventional control 100, in thegraphical user interface 200 of the present invention, a single controlis used to set values of both variables 210, 220.

An additional advantage is shown in FIG. 2 as well. Curves 234, 236 and238 correspond to various levels of the third variable as depicted ingraphical element 230. For example, curve 238 shown in two-dimensionalarea 240 corresponds to cost level “$$$” shown in graphical element 230.To explain in greater detail, all combinations of values for variables210, 200 falling along curve 238 correspond to, and are associated with,a cost level “$$$”. In addition, all combinations of values forvariables 210, 220 falling along curve 236 correspond to, and areassociated with, a cost level “$$” (which is a lower cost level thanthat associated with line 238, which corresponded to a higher cost level“$$$”). Further, all combinations of values for variables 210, 220falling along curve 234 correspond to cost level “$” (which is lowerthan either cost levels “$$” or “$$$” associated with curves 236, 238).

This feature represents a particular advantage of the graphical userinterface of the invention. In the conventional dual slider control 100depicted in FIG. 1, no information is provided regarding the effect ofthe setting of variables 110, 130 on other variables. Accordingly, auser is not provided with any guidance regarding whether a particularcombination of values is, for example, either cost-effective, or withinbudgetary constraints. In addition, information is provided in thegraphical user interface 200 which is not provided to a user of the dualslider control of FIG. 1.

As an example, a user starting at an initial point along curve 236 asdepicted in FIG. 2 moves the slider control 250 to a new position asshown in FIG. 3. As the slider control 250 moves to the new positiondepicted in FIG. 3, indicator 232 associated with the third variablemoves downward as well, indicating that the new combination of variables210, 220 associated with the new position of the slider control 250corresponds to a lower cost option.

Another advantage of the present invention is that a user can select“optimal” points easily, because optimal portions are readily apparentin the curves 234, 236 and 238. A user can see from optimal portions inthe curves where further adjustment of one of the variables comes at anincreasingly greater cost to the other variable. For example, a user hasdecided to operate along curve 234 corresponding to a low-cost option“$” as seen in FIGS. 4 and 5. In looking at curve 234, it is evident inmoving the slider control 250 from left to right, that increasing levelsof “availability” can be had for relatively low cost in “performance”,up through optimal portion 234 a. Beyond optimal portion 234 a furtherlevels of availability come at an ever-increasing cost to performance,until the value of the performance variable bottoms out. Accordingly, inmost instances it would make sense to select an operating point (e.g.,235) in optimal portion 234 a, because point 235 represents anear-optimal combination of performance and availability for a givencost, when performance is valued more highly than availability.

In contrast, curve 238 corresponding to high cost “$$$” has two optimalportions 238 a and 238 b. These help a user of the graphical userinterface 200 of the invention to select a combination of values forvariables availability and performance 210, 200, respectively, as shownin FIGS. 6-8. For example, if a user can accept cost level “$$$” (itfits within budgetary constraints) then the user will make adetermination about what variable is most important. For example, ifperformance and availability are equally important, the user will selecta point about midway along curve 238, which roughly corresponds tomedium levels of performance and availability, as shown in FIG. 6.Alternatively, if a relatively high level of performance is desired, theuser will examine the portion of the curve 238 closer to the performanceaxis 222. As is apparent, initially higher levels of availability can behad for relatively little cost to performance. After optimal portion 238a, though, improvements in availability come at an increasingly highercost to performance. Accordingly, a user interested mainly inperformance would be expected to select a combination of values forvariables 210, 220 in optimal portion 238 a (e.g., 239 a), as shown inFIG. 7.

Alternatively, if one using the graphical user interface of theinvention is interested in high levels of availability, but performanceis relatively less important, than the user would be interested in theportion along curve 238 near the availability axis 212. As can be seen,as one moves along curve 238 away from axis 212, initially additionalperformance can be had for relatively little cost in availability upuntil optimal portion 238 b. Beyond optimal portion 238 b, the cost inavailability of higher levels of performance becomes much greater.Accordingly, a user mainly interested in availability and not sointerested in performance would pick an operating point in optimalportion 238 b (e.g., 239 b), as shown in FIG. 8.

FIGS. 9-10 display another embodiment of the invention. In thisembodiment, it is assumed that a user is relatively constrained in theoptions that may be chosen. For example, assume that a user is using theinvention to select a server configuration, and that there are severalpre-existing server configurations available based on particular servermodels. Region 910 corresponds to a configuration using Blade XXX. Thereare several pre-existing options based on Blade XXX corresponding toOption T as shown by reference character 912; Option U as shown byreference character 914; and Option V as shown by reference character916. Region 920 corresponds to configurations using Blade YYY. There areseveral pre-existing options based on Blade YYY corresponding to OptionA as shown by reference character 922; Option B as shown by referencecharacter 924; and Option C as shown by reference character 926. Thereare several pre-existing options based on Blade ZZZ corresponding toOption 1 as shown by reference 932 and Option 2 as shown by referencecharacter 934. In this example, regions 910, 920 and 930 are provided asan aid to a user to show the general range of options available.

In operation, this embodiment of the invention functions as follows. Auser moves slider control 250 about two-dimensional region 930. Slidercontrol does not actually determine the combination of values for theperformance and availability variables 210,220. Rather, depending on themovement of slider control, box 960 snaps to the option likely to beselected by the user next. The snapping can be done based on underlyingdetents within the two-dimensional area, which can be point-based,line-based, or area-based detents. For example, if the user is movingthe slider control toward Option B, the methods of the present inventionwill detect this intention based on analysis of the trajectory of slidercontrol 250, and will snap selection box 960 to Option B. Alternatively,methods of the present invention can snap the selection box 960 tooptions adjacent to the slider control. The end result of the operationis shown in FIG. 9. In addition, box 962 acts in synchronism withselection box 960 to indicate which Blade the currently selected optionis associated with. Indicator 232 will then graphically indicate thevalue of variable 230 corresponding to the combination of values for thevariables availability 210 and performance 220 associated with Option B924.

Further operation of this embodiment of the invention is depicted inFIG. 10. As is apparent, a user has moved the slider control nearly tothe position of Option 1. As a result, the selection box 960 has snappedto Option 1, and box 962 has snapped to Blade ZZZ. Since Option 1represents a high cost option, indicator 230 remains at a positionsimilar to that depicted in FIG. 9.

In alternative embodiments of the invention, combinations of valuesfalling within regions 910, 920 and 930 associated with options BladeXXX, Blade YYY and Blade ZZZ are also available for selection, inaddition to the discrete options corresponding to reference characters912, 914, 916, 922, 924, 926, 932 and 934. In such an embodiment, a usermay toggle a control that disables the operation of selection box 960which is snapped to discrete options. Instead, the user would use slidercontrol 250 to select combinations of values for the availability andperformance variables 210, 220. In this particular embodiment, though,the movement of slider control 250 could be restricted to movementwithin regions 910, 920 and 930.

FIG. 11 is a flowchart depicting a method operating in accordance withthe invention, which will be described with reference to the precedingfigures. The method begins at step 1110, where a computer programmed tooperate in accordance with the methods of the invention displays a graphhaving two axes 212, 222 corresponding to first and second variables210, 220, wherein a two-dimensional region 240 is defined by the areabetween the two axes 212, 222. Next, at step 1120, the computer displaysa slider control 250 in the two-dimensional region. Then, at step 1130,the computer receives a command moving the slider control 250 to a newposition within the two-dimensional region, wherein the new positiondetermines a new combination of values for the first and secondvariables 210, 220. Next, at step 1140, the computer calculates a newvalue for a third variable based on the new combination of values forthe first and second variables. Then, at step 1150, the computerdisplays a graphical component representing the new value for the thirdvariable in the interactive graphical user interface.

In one variant of the method depicted in FIG. 11, an additional step isperformed. In the additional step, curves 234, 236 and 238 are displayedin the two-dimensional region 240. Although three curves 234, 236 and238 are displayed in FIGS. 2-6, this is not essential; one or morecurves may be displayed in this variant of the invention. Curves 234,236 and 238 correspond to constant values for the third variable. As isapparent, curve 234 corresponds to a low-cost option ($); curve 236corresponds to a mid-cost option ($$); and curve 238 corresponds to ahigh-cost option ($$$). Curves 234, 236 and 238 help a user to selectmore easily a combination of values for variables 210, 220 since thecurves indicate where certain values for the third variable fall withinthe two-dimensional region. If a user desires a relatively low-costoption, then the user would know to immediately move the slider controlto a region close to the origin of the two axes 212, 222 because of thecue provided by curve 234. Alternatively, if the user can accept arelatively high-cost option (e.g., cost of service), then the user wouldknow to immediately move the slider control 250 to a region relativelydistant from the origin of the axes due to the cue provided by curve238.

In another variant of the method depicted in FIG. 11 additional stepsare performed. In a first step, a computer executing a computer programperforming methods in accordance with the invention receives a commandto switch one of the first and second variables with the third variable.Thereafter, values the third variable may assume are displayed on one ofthe axes. A user selects the value of the third variable and a value forthe one of the first and second variables not switched with the thirdvariable using the slider control. A combination of values selected forthe one of the first and second variables not switched with the thirdvariable and the third variable determine a value for the one of thefirst and second variables switched with the third variable. Then, thecomputer receives a command moving the slider control within thetwo-dimensional region to a new position, wherein the movement of theslider control to a new position determines a new combination of valuesfor the third variable and the one of the first and second variables notswitched with the third variable. Next, the computer calculates a newvalue for the one of the first and second variables switched with thethird variable. Then, the computer displays the new value for the one ofthe first and second variables switched with the third variable in theinteractive graphical user interface using a graphical component. In anexample of this embodiment, in FIG. 2, “availability” 210, values ofwhich are currently shown on axis 212, would switch positions with“cost”, values of which are currently shown by graphical element 230 andindicator 232. After the switch, values for “cost” available forselection would be shown on axis 212, and a user would simultaneouslyselect values for “performance” and “cost” with slider control 250.Values selected for “performance” and “cost” would then be used todetermine a value for “availability”, the current value of which wouldbe shown using a graphical element similar to 230.

In a further variant of the method depicted in FIG. 11, in addition tothird variable “cost”, values of one or more additional variables may beshown using graphical components like 230, 232. Current values of suchadditional variables would each be determined by the current values ofthe first and second variables set with slider control 250. Any of theseadditional variables may be switched with one of the first and secondvariables in a manner similar to that described in the immediatelypreceding variant.

In yet another variant of the method depicted in FIG. 11, the method isused to control a process such as, for example, a manufacturing process;a security process; or a computer-related process. In these variants,the third variable (the current value of which is shown with elements230, 232) may alternatively be cost or maintenance.

FIG. 12 is a flowchart depicting another method operating in accordancewith the invention. The method depicted in FIG. 12 will be describedwith reference to the preceding figures. The method begins at step 1210,where a computer programmed to operate in accordance with the methods ofthe invention displays a graph having two axes 212, 222 corresponding tofirst and second variables 210, 220, wherein a region 240 between thetwo axes specifies values that the first and second variables mayassume, and wherein values that the two variables assume determinevalues of a third variable. Then, at step 1220 a discrete number ofpre-determined combinations of values of for the first and secondvariables (912, 914, 916, 922, 924, 926, 932 and 934) are displayed inthe two-dimensional region. Next, at step 1230, a slider control 250 isdisplayed in the two-dimensional region 240. Then, at step 1240, thecomputer receives a command moving the slider control 250 toward aposition of a particular one 932 of the pre-determined combinations ofvalues for the first and second variables in the two-dimensional region.Next, at step 1250, the computer determines that a trajectory of theslider control 250 is toward the particular one of the predeterminedcombinations of values for the first and second variables in thetwo-dimensional region. Then, at step 1260, the computer snaps agraphical indicator to the position of the particular one of thepre-determined combinations of values for the first and second variablesin the two-dimensional region, thereby indicating that the particularone of the pre-determined combinations of values for the first andsecond variables has been selected. Next at step 1270, the computerdetermines a new value for the third variable based on the newcombination of values for the first and second variables associated withthe particular one of the pre-determined combination of values for thefirst and second variables. Then, at step 1280, the computer displays agraphical component representing the new value for the third variable inthe interactive graphical user interface.

In a variant of the method depicted in FIG. 12 additional steps areperformed. First, the computer receives a command to change to a newmode of operation, wherein when in the new mode of operation a userenters a command switching the third variable with one of the first andsecond variables. When switched, operations are performed displayingvalues the third variable may assume on one of the axes. The user thenselects a value of the third variable and a value of the one of thefirst and second variables not switched with the third variable usingthe slider control. A combination of values selected for the one of thefirst and second variables not switched with the third variable and thethird variable using the slider control determines a value for the oneof the first and second variables switched with the third variable.After receiving a command to change to the new mode of operation, thecomputer then receives a command to switch one of the first and secondvariables with the third variable. Next, the computer performsoperations to display values the third variable may assume on an axispreviously occupied by the one of the first and second variablesswitched with the third variable. Then, the computer receives a commandmoving the slider control within the two-dimensional region to a newposition, wherein the movement of the slider control to a new positiondetermines a new combination of values for the third variable and theone of the first and second variables not switched with the thirdvariable. Next, the computer calculates a new value for the one of thefirst and second variables switched with the third variable. Then, thecomputer displays a graphical component representing the new value forthe one of the first and second variables switched with the thirdvariable in the interactive graphical user interface.

As used herein “user” may refer to a person or an automated process.

FIG. 13 depicts a further embodiment of the invention. In the embodimentdepicted in FIG. 13 a user has selected a control mode where movement ofthe slider control is restricted to a region corresponding to aparticular value, or ranges of values, of the third variable. The userhas selected the particular values for the third variable with control239. Control 239 indicates that only combinations of values for thefirst and second variables which result in a value for the thirdvariable corresponding to at least a high-cost option ($$$) may beselected. The region 241 corresponding to the combinations of values forthe first and second variables that may be selected is graphically setapart by shading. When the slider control is moved, it is restricted toregion 241.

One of ordinary skill in the art will understand that the methodsdepicted and described herein can be embodied in a tangiblemachine-readable memory medium. A computer program fixed in amachine-readable memory medium and embodying a method or methods of thepresent invention perform steps of the method or methods when executedby a digital processing apparatus coupled to the machine-readable memorymedium. Tangible machine-readable memory media include, but are notlimited to, hard drives, CD- or DVD-ROM, flash memory storage devices orin a RAM memory of a computer system. A machine-readable memory mediumtangibly embodying such a computer program comprises an embodiment ofthe present invention.

Thus it is seen that the foregoing description has provided by way ofexemplary and non-limiting examples a full and informative descriptionof the best methods and apparatus presently contemplated by theinventors for implementing a slider control movable in a two-dimensionalregion for simultaneously adjusting values of multiple variables. Oneskilled in the art will appreciate that the various embodimentsdescribed herein can be practiced individually; in combination with oneor more other embodiments described herein; or in combination withinteractive graphical user interfaces differing from those describedherein. Further, one skilled in the art will appreciate that the presentinvention can be practiced by other than the described embodiments; thatthese described embodiments are presented for the purposes ofillustration and not of limitation; and that the present invention istherefore limited only by the claims which follow.

1. A signal-bearing medium tangibly embodying a program ofmachine-readable instructions executable by a digital processingapparatus of a computer system to perform operations for displaying andcontrolling an interactive graphical user interface, the operationscomprising: displaying a graph having two axes corresponding to firstand second variables in the interactive graphical user interface,wherein a two-dimensional region between the two axes specifies valuesthe first and second variables may assume, and wherein a combination ofvalues that the two variables assume determines a value of a thirdvariable; displaying a slider control in the two-dimensional region;receiving a command moving the slider control within the two-dimensionalregion to a new position, wherein the movement of the slider control toa new position determines a new combination of values for the first andsecond variables; calculating a new value for the third variable basedon the new combination of values for the first and second variables; anddisplaying a graphical component representing the new value for thethird variable in the interactive graphical user interface.
 2. Thesignal-bearing medium of claim 1 wherein predetermined combinations ofvalues exist for the first and second variables, the operations furthercomprising: prior to receiving a command moving the slider control,displaying the predetermined combinations of values for the first andsecond variables in the two-dimensional region between the two axes. 3.The signal-bearing medium of claim 2 wherein the two-dimensional regionbetween the two axes comprises a first two-dimensional region andwherein the predetermined combinations of values for the first andsecond variables define a second two-dimensional region within the firsttwo-dimensional region, the operations further comprising: graphicallydistinguishing the second two-dimensional region from a portion of thefirst two-dimensional region not encompassed by the secondtwo-dimensional region.
 4. The signal-bearing medium of claim 3 whereinthe operations further comprise: as commands are received moving theslider control within the first two-dimensional region, restricting themovement of the slider control to within the second two-dimensionalregion associated with the predetermined combination of values for thefirst and second variables.
 5. The signal-bearing medium of claim 2wherein the predetermined combinations of values for the first andsecond variables correspond to discrete points within thetwo-dimensional region between the two axes, the operations furthercomprising: as commands are received moving the slider control withinthe two-dimensional region, serially snapping a selection box todiscrete points within the two-dimensional region associated with thepredetermined combination of values for the first and second variables,wherein the snapping is determined based on a trajectory defined bymovement of the slider control, and wherein the selection box indicatesthat a particular combination from the predetermined combinations ofvalues for the first and second variables has been selected.
 6. Thesignal-bearing medium of claim 1 wherein the operations furthercomprise: displaying in the two-dimensional region a curve correspondingto a constant value for the third variable, wherein combinations ofvalues of the first and second variables falling along the curvedetermine a value for the third variable corresponding to the constantvalue.
 7. The signal-bearing medium of claim 6 wherein the constantvalue further corresponds to a continuous range of values for the thirdvariable, and wherein the curve further comprises a band.
 8. Thesignal-bearing medium of claim 1 wherein the two-dimensional regionbetween the two axes comprises a first two-dimensional region, theoperations further comprising: receiving a command to change to a newmode of control, wherein when in the new mode of control a user mayselect a value for the third variable, and operations restrict movementof the slider control to movement within a second two-dimensional regionwithin the first two-dimensional region, wherein the secondtwo-dimensional region corresponds to combinations of values of thefirst and second variables capable of achieving the value selected forthe third variable; receiving a selected value for the third variable;determining combinations of values of the first and second variablescapable of achieving the value for the third value; and graphicallydepicting the combination of values capable of achieving the selectedvalue for the third variable in the two-dimensional region between thetwo axes.
 9. The signal-bearing medium of claim 8 wherein the operationsfurther comprise: snapping the slider control to a position within thesecond two-dimensional region defined by the combination of values forthe first and second variables capable of achieving the selected valuefor the third variable prior to receiving commands moving the slidercontrol; and receiving commands moving the slider control.
 10. Thesignal-bearing medium of claim 9 wherein the operations furthercomprise: as commands are received moving the slider control,graphically restricting movement of the slider control to the secondtwo-dimensional region defined by the combination of values for thefirst and second variables capable of achieving the selected value forthe third variable.
 11. The signal-bearing medium of claim 1 wherein acombination of values that the first and second variables assumedetermine a value of a fourth variable, wherein calculating a new valuefor the third variable further comprises calculating a new value for thefourth variable based on the new combination of values for the first andsecond variables; and wherein displaying a graphical componentrepresenting the new value for the third variable further comprisesdisplaying a graphical component representing the new value for thefourth variable in the interactive graphical user interface.
 12. Thesignal-bearing medium of claim 1 wherein a combination of values thatthe first and second variables assume determine values for a pluralityof additional variables, wherein calculating a new value for the thirdvariable further comprises calculating new values for the plurality ofadditional variables; and wherein displaying a graphical componentrepresenting the new value for the third variable further comprisesdisplaying a plurality of graphical components representing the newvalues for the plurality of additional variables in the interactivegraphical user interface.
 13. The signal-bearing medium of claim 1wherein the graph comprises a graphical control, wherein the graphicalcontrol and interactive graphical user interface are used to selectoperating parameters for a process.
 14. The signal-bearing medium ofclaim 1 wherein the third variable is a cost variable.
 15. Thesignal-bearing medium of claim 1 wherein the third variable is amaintenance variable.
 16. A method for displaying and controlling aninteractive graphical user interface, the method comprising: displayinga graph having two axes corresponding to first and second variables inthe interactive graphical user interface, wherein a two-dimensionalregion between the two axes specifies values the first and secondvariables may assume, and wherein a combination of values that the firstand second variables assume determines a value of a third variable;displaying a discrete number of pre-determined combinations of valuesfor the first and second variables in the two-dimensional region;displaying a slider control in the two-dimensional region; receiving acommand moving the slider control toward a position of a particular oneof the pre-determined combinations of values for the first and secondvariables in the two-dimensional region; determining that a trajectoryof the slider control is toward the particular one of the pre-determinedcombinations of values for the first and second variables displayed inthe two-dimensional region; snapping a graphical indicator to theposition of the particular one of the pre-determined combinations ofvalues for the first and second variables in the two-dimensional regionindicating that the particular one of the pre-determined combinations ofvalues for the first and second variables has been selected; determininga new value for the third variable based on the new combination ofvalues for the first and second variables associated with the particularone of the pre-determined combinations of values for the first andsecond variable; and displaying a graphical component representing thenew value of the third variable in the interactive graphical userinterface.
 17. The method of claim 16 further comprising: displaying inthe two-dimensional region a plurality of curves, wherein each of thecurves corresponds to a different value of the third variable.
 18. Themethod of claim 16 wherein the graph comprises a graphical control, andwherein the graphical control and interactive graphical user interfaceare used to select operating parameters for a computer-related process.19. The method of claim 16 further comprising: receiving a command tochange to a new mode of operation, wherein when in the new mode ofoperation a user enters a command switching the third variable with oneof the first and second variables, wherein when switched, operationsdisplay values the third variable may assume on one of the axes, and theuser selects the value of the third variable and a value of the one ofthe first and second variables not switched with the third variableusing the slider control, and wherein a combination of values selectedfor the one of the first and second variables not switched with thethird variable and the third variable using the slider controldetermines a value for the one of the first and second variablesswitched with the third variable; receiving a command to switch one ofthe first and second variables with the third variable; displayingvalues that the third variable may assume on an axis previouslydisplaying values for the one of the first and second variables switchedwith the third variable; receiving a command moving the slider controlwithin the two-dimensional region to a new position, wherein themovement of the slider control to a new position determines a newcombination of values for the third variable and the one of the firstand second variables not switched with the third variable; calculating anew value for the one of the first and second variables switched withthe third variable; and displaying a graphical component representingthe new value for the one of the first and second variables switchedwith the third variable in the interactive graphical user interface. 20.A computer system for displaying and controlling an interactivegraphical user interface, the computer system comprising: at least onememory to store at least one computer program of machine-readableinstructions, where the at least one program performs operations todisplay and control the interactive graphical user interface whenexecuted; a display for displaying the interactive graphical userinterface; and at least one processor coupled to the at least one memoryand display, wherein the at least one processor performs at least thefollowing operations when the at least one program is executed:displaying a graph having two axes corresponding to first and secondvariables in the interactive graphical user interface, wherein atwo-dimensional region between the two axes specifies values the firstand second variables may assume, wherein values that the two variablesmay assume determines a value of a third variable; displaying a slidercontrol in the two-dimensional region; receiving a command moving theslider control within the two-dimensional region to a new position,wherein the movement of the slider control to a new position determinesa new combination of values for the first and second variables;calculating a new value for the third variable based on the newcombination of values for the first and second variables; and displayinga graphical component representing the new value for the third variablein the interactive graphical user interface.